'''
Created on 2012/06/17

@author: António Baião

Responsavel por ordenaro os valores dalista de elementos
para se construir a arvore
'''
def partition_q(A, p, r, axis):
    #usa a chave que for correspondete ao eixo
    x = A[r][axis]
    i = p - 1
    
    for j in range(p,r):
        if A[j][axis] <= x:
            i = i + 1
            A[i], A[j]=  A[j], A[i]
            pass
        pass
    A[i + 1], A[r] =  A[r], A[i + 1]
    return i + 1
'''
Introduzi a variavel axis derivado a ter que ordenar elementos k-dimensionais
'''    
def quicksort(A, p, r, axis):
    if p < r:
        q = partition_q(A, p, r, axis)
        quicksort(A, p, q-1, axis)
        quicksort(A, q +1, r, axis)
        